package com.superb.system.service;

import com.superb.common.database.mybatis.service.SuperbIService;
import com.superb.system.api.dto.Token;
import com.superb.system.api.dto.UserInfo;
import com.superb.system.api.entity.SystemUser;
import com.superb.system.api.vo.PhoneCodeLogin;
import com.superb.system.api.vo.PwdLogin;

/**
 * 系统用户表;(system_user)表服务接口
 * @Author: ajie
 * @CreateTime: 2024-5-7
 */
public interface SystemUserService extends SuperbIService<SystemUser> {

    boolean checkUsername(String username);

    boolean checkPhoneNumber(String phone);

    boolean checkEmail(String email);

    SystemUser getInfoById(String userId);

    /**
     * 账号密码登录
     * @param login
     * @return
     */
    Token pwdLogin(PwdLogin login);

    /**
     * 获取当前登录人信息
     * @return
     */
    UserInfo getCurrentUser(String scopeId);

    /**
     * 手机验证码登录
     * @param login
     * @return
     */
    Token phoneCodeLogin(PhoneCodeLogin login);
}